1. Field of the Invention
This invention relates to the field of information processing, and more specifically to a graphical user interface for a computer.
2. Background Art
Tabbed notebook user interfaces are modeled on the conventional paper version of a tabbed notebook. A tabbed notebook interface comprises a plurality of pages with corresponding tabs. Prior art tabbed notebooks fail to take full advantage of the capabilities provided by computer systems. Typically tabbed notebook interfaces simply imitate the paper type tabbed notebook. The following background information is presented to provide a better understanding of this problem.
Graphical User Interfaces (GUIs) generally provide computer users with methods of controlling a computer that are more intuitive than text based methods. One example of a graphical user interface is the tabbed notebook. FIG. 2 illustrates a prior art tabbed notebook. A tabbed notebook display typically comprises a single page along with a plurality of small tabs representing other pages in the tabbed notebook. To move to another page a user can use a pointing device, such as a mouse, to click on the tab for the desired page and that page will then be displayed.
In a database application the pages of a tabbed notebook can be used to represent database records. For convenience, a user may want to copy data to another record without having to change the record that is displayed. A typical method for copying information from one record to another record is for a user to copy the information to an electronic clipboard, change the display to the destination page, and paste the information on the destination page. To return to the page of origin the user may have to remember what page the information came from, then select the tab corresponding to that page, or perhaps alternatively return to the page of origin using a series of keyboard commands. Therefore requiring users to change the displayed record to copy information is inefficient because it requires users to perform superfluous steps and introduces unnecessary difficulties for users. Similar problems exist in any embodiments of tabbed or multi-page notebook interfaces in which objects on one page may be moved to another, such as spreadsheet cells that can be moved from a spreadsheet on an exposed page to a spreadsheet on a hidden page. A further problem with the clipboard approach to moving or copying objects between pages of a tabbed notebook is that a typical tabbed notebook interface does not provide any visual confirmation of what task was performed. For example, there is typically no indication of whether the object was moved or copied, nor is there an indication of the source of origin of the object.
Thus, there is a need for an improved graphical user interface to provide an intuitive method of manipulating objects.
The following references describe a variety of technologies related to graphical user interfaces:
In U.S. Pat. No. 5,416,901, Torres describes a system for facilitating direct icon manipulation operations in a data processing system. A selection icon is generated which corresponds to an operator's selection of data fields from a plurality of data fields. The selection icon may be applied to a particular category of software objects to automatically include or exclude selected data fields in a direct icon manipulation operation, such as a drag-and-drop operation.
In U.S. Pat. No. 5,367,623, Iwai describes an information processing apparatus that has a capability of opening two or more windows and processing an object such as text, graphics, or a picture on each page. This information processing unit includes a pasting unit for pasting a tag window at any location on each page, a registering unit for registering one or more objects in the tag window, and a linking unit for linking the page to the tag window or unlinking the tag window from the page.
In U.S. Pat. No. 5,502,805, Anderson describes an electronic spreadsheet system that includes a notebook interface having a plurality of notebook pages, each of which may contain a spread of information cells, or other desired page type (e.g. Graphs page). Methods are provided for rapidly accessing and processing information on the different pages, including displaying a plurality of page identifiers for selecting individual pages, and further including a preferred syntax for referencing information. Additional methods are provided for editing cells and blocks of cells.
In U.S. Pat. No. 5,572,644, Liaw describes a system for allocating memory to store a multi-dimensional spread of information in an electronic spreadsheet system including a notebook interface having a plurality of notebook pages, each of which may contain a spread of information cells, or other desired page type (e.g. Graphs page). Methods are provided for rapidly accessing and processing information on the different pages, including displaying a plurality of page identifiers for selecting individual pages, and further including a preferred syntax for referencing information. Additional methods are described for in-memory management and persistent storage of notebooks and their pages.
In U.S. Pat. No. 5,506,952, Choy describes a system for guiding the formation of a correctly structured instruction for data processing systems. A set of components relating to elements and actions used to formulate the instructions is provided to visually represent the elements and actions. The components are displayed as icons. An instruction is constructed by moving selected icons into a rule construction area. A selection of components that may correctly be inserted into the instruction is provided at each stage of construction of the instruction. Components that may not correctly be inserted into the instruction are disabled. The disabled icons are visually provided as "grayed" icons. As the instruction is developed with additional icons, the selection of correct components changes to correspond to the changing instruction.
In U.S. Pat. No. 5,583,984, Conrad describes a computer system with a graphical user interface that allows the user to open and close enclosures, while dragging an object. When the user pauses, gestures, or rolls over a hot spot on top of an icon or text representing a closed enclosure, a temporary window for the closed enclosure is "sprung open" to allow the user to browse inside the enclosure and possibly open another enclosure contained within the temporary window. This process can be carried on throughout a hierarchy of windows as the user browses for a destination window for the drag operation. All of the temporary windows except the destination are closed when the mouse button is released, signaling the end of a drag. The user may close sprung open windows by moving the cursor out of the sprung open window, or by making some other gesture. If an enclosure to be sprung open was previously open on the desktop, the previously opened window may zoom over to the current mouse position, and then return to its original position when the user mouse is out of the window.
In U.S. Pat. No. 5,581,686, Koppolu describes a system for interacting with a containee object contained within a container object. The container object has a container application with a container window environment that has container resources for interacting with the container object. The containee object has a server application with a server window environment with server resources for interacting with the containee object. The method of the invention displays the container window environment on a display device. A user then selects the containee object. In response to selecting the containee object, the method integrates a plurality of the server resources with the displayed container window environment. When a user then selects a server resource, the method invokes the server application to process the server resource selection. Conversely, when a user selects a container resource, the method invokes the container application to process the container resource selection.
In U.S. Pat. No. 5,404,442, Foster describes a visible clipboard for graphical computer environments. In the Foster system text, graphics, or other selected objects of a computer screen are selected and converted into a "visual clipboard" which is attached to a boundary of the screen. The visible clipboard is preferably implemented on a pen-based computer system where the object is selected by a stylus, is dragged to a boundary, and is converted to a clipboard icon at the boundary. Multiple clipboard icons may be produced by the user, and can be moved from one boundary location to another. The contents of the clipboard can be inserted or "pasted" into an application program by dragging the clipboard icon with the stylus to the desired insertion location. Preferably, each clipboard is provided with indicia representative of the contents of the clipboard.
In U.S. Pat. No. 5,574,909, Misono describes a system for data searching using selected or representative data samples. Representative samples among a group of data to be searched are displayed, and two displayed representative samples are selected to specify a new area of data to be searched. The portion of the data is bracketed and narrowed down, to facilitate finding the desired data item.
In U.S. Pat. No. 5,572,651, Weber describes a table-based user interface for retrieving and manipulating indices between data structures, with particular application to handwriting based user interfaces. The user-interactive method provides a user with the capability to retrieve and manipulate associations previously established among image segments in a single or in multiple data structures, where the image segments are stored as image data. The use of certain designated image segments, called key objects, for association with one or more other stored image segments in effect imposes a user-defined categorization structure on the image segments with which key objects are associated, producing groups of image segments associated with respective key objects. The categorized information for a particular key object is retrievable and displayable with the key object image providing an indexing mechanism into the image data. Multiple groupings of categorized information may be presented in a tabular format, showing the relationship between key objects and image segments, and the tabular presentation may be used as a user interface for the post-creating manipulation and alteration of key object associations in order to further refine or extend the categorizations structure.
In U.S. Pat No. 5,428,776, Rothfield describes a graphical query front end system for querying a relational database displaying the elements of a query in graphical form. The graphical query consists of tables, shown as nodes on a display, used as input to operator nodes, which produce output tables by modifying the inputs based on information provided by the user. There are several operators, each of which represents a different piece of defining a query. These operator nodes may then be used as inputs to operator nodes which modify their inputs to produce output tables, and so on until the desired result is achieved.
In U.S. Pat. No. 4,868,765, Diefendorff describes a porthole window system for computer displays allowing a user to look at a portion of a window which could otherwise not be seen. A porthole window acts as an opening in a window of the usual type through which underlying windows may be seen. A porthole window can have different features as desired, including links to selected source and target windows, real time movement on the display screen, and the ability to be updated when a target window is updated. The porthole system runs concurrently with the normal window handling system of the computer.
In U.S. Pat. No. 5,548,702, Li describes a method for scrolling a target window during a drag and drop operation. When it is determined that a graphical object has hit an interior boundary of a target window the target window is scrolled so long as the graphical object continues to hit the interior boundary.
In U.S. Pat. No. 5,561,758, Hocker describes a process icon based on a tunnel concept in which the icon has an input and an output portal through which an object is dragged in order to invoke a process. The direction of the process invoked (e.g. encrypt to decrypt or decrypt to encrypt) can be denoted and determined by the portal through which the object is dragged.
In U.S. Pat. No. 5,313,575, Beethe describes a processing method for an iconic programming system, wherein each icon within the system may have zero or more data input connections, zero or more data output connections, an optical sequence input connection, and an optional sequence output connection. Each of these connections may be used to graphically connect each icon to another icon to form a network of icons that operates as a computer program. Execution of the network is accomplished by processing each icon and performing any programming functions represented by the icon.